package bin_tree.heap;

import java.util.Random;

/**
 * @author yuisama
 * @date 2023/03/28 21:31
 **/
public class MaxHeapTest {
    public static void main(String[] args) {
        int n = 10_0000;
        Random random = new Random();
        // 先生成一个大小为10w的随机数数组
        int[] data = new int[n];
        for (int i = 0; i < data.length; i++) {
            data[i] = random.nextInt(Integer.MAX_VALUE);
        }
        MaxHeap heap = new MaxHeap(data);
        // 依次取出堆中的最大值写回data数组，最终可以得到一个10w个非降序数组
        for (int i = 0; i < data.length; i++) {
            data[i] = heap.extractMax();
        }
        System.out.println(isSorted(data));
    }
    // 非升序 =》arr中的每个元素都满足前一个元素严格 >= 后一个元素
    public static boolean isSorted(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            if (arr[i] < arr[i + 1]) {
                // 找到反例
                return false;
            }
        }
        return true;
    }
}